home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 2
/
Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso
/
Pearls
/
dev
/
TurboM2
/
m2
/
RandomNumbers.mod
< prev
next >
Wrap
Text File
|
1995-01-23
|
507b
|
30 lines
IMPLEMENTATION MODULE RandomNumbers ;
(* Reiser M. & Wirth N. (1992). Programming in OBERON.ACM press *)
VAR
z : LONGINT ;
PROCEDURE Uniform( ) : REAL ;
CONST
a = 16807 ;
m = 2147483647 ;
q = m DIV a ;
r = m MOD a ;
VAR
gamma : LONGINT ;
BEGIN
gamma := a*(z MOD q)-r*(z DIV q) ;
IF gamma>0 THEN z := gamma ELSE z := gamma+m END ;
RETURN FLOAT(z)*(1.0/FLOAT(m))
END Uniform ;
PROCEDURE SetSeed( seed : LONGINT ) ;
BEGIN z := seed ;
END SetSeed ;
BEGIN z := 314159
END RandomNumbers.